package com.example.mapper;

import com.example.entity.Salary;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 薪资Mapper接口
 */
public interface SalaryMapper {
    /**
     * 新增
     */
    int insert(Salary salary);

    /**
     * 删除
     */
    int deleteById(Integer id);

    /**
     * 修改
     */
    int updateById(Salary salary);

    /**
     * 根据ID查询
     */
    Salary selectById(Integer id);
    
    /**
     * 根据员工ID和月份查询
     */
    Salary selectByEmployeeIdAndMonth(@Param("employeeId") Integer employeeId, @Param("salaryMonth") String salaryMonth);

    /**
     * 查询全部
     */
    List<Salary> selectAll(Salary salary);
    
    /**
     * 根据员工ID查询薪资记录
     */
    List<Salary> selectByEmployeeId(Integer employeeId);
    
    /**
     * 根据月份查询薪资记录
     */
    List<Salary> selectBySalaryMonth(String salaryMonth);
    
    /**
     * 批量更新薪资状态
     */
    int updateStatusBatch(@Param("ids") List<Integer> ids, @Param("status") String status);
}